package entity

const (
	// 共用吧.
	NoData = ""

	YunAsrBeing = "yun_asr" // call id 在head中.

	ShortAsrBegin = "shortasr_begin" //
	ShortAsrEnd   = "shortasr_end"   // 不用消息体,call id 在head中.

	ShortAsrBeginRsp = "shortasr_begin_rsp" //
	ShortAsrResult   = "shortasr_result"    // asr中间结果.
)

// ShortAsr对应的命令.
// xmedia发送的
// 启动asr.
type OpenShortAsr struct {
	AudioPayloadType int `json:"audioPayload"`

	// TODO: 定义ip 和port直接传送.
	Zone string `json:"zone,omitempty"` // default: udp
	Addr string `json:"addr,omitempty"` // ip:port string
}

func (packet *OpenShortAsr) From(data string) error { return from(packet, data) }
func (packet *OpenShortAsr) To() (string, error)    { return to(packet) }

// xmedia接收的
// RoomStart对应的响应.
type OpenShortAsrRsp struct {
	Sdp string `json:"sdp,omitempty"` // SdpOffer结构体.
}

func (packet *OpenShortAsrRsp) From(data string) error { return from(packet, data) }
func (packet *OpenShortAsrRsp) To() (string, error)    { return to(packet) }
